我有酒店和酒店服务的现有桌子
每个酒店都可以提供多种服务,因此在我的表单中,用户可以一次输入任意数量的服务
例如:
hotel name: HOTEL1
hotel_services:
1. hotel_service1
2. hotel_service2
3. hotel_service3
我的问题是,我应该如何在hibernate中这样做,以便能够将所有数据插入它们各自的表中,即hotels和hotel_services表
谢谢你的帮助 您所描述的是酒店和服务之间的基本一对一关系,映射如下
只是想知道是否可以将JPA2.0与Glassfish 2.1一起使用?
以前有人试过吗
我将使用JPA2.0的最新hibernate实现作为提供程序。谢谢我没有在glassfish 2.1中使用JPA 2.0,但我在glassfish 3中使用了JPA 1.0(toplink)
我所需要做的就是将toplink库包含到项目中,并在persistence.xml中使用它
您可以尝试将JPA2.0库包含到项目中,设置persistence.xml提供程序(例如org.eclipse.persiste
在thserverside.com上的这篇文章中:
它提到:“JBoss已经发布了Hibernate 3.2,这是他们流行的持久性引擎,现在已被证明符合Java持久性API。”
这意味着什么:“现在认证符合Java持久性API。”
旧的Hibernate(或者任何ORM工具)不是作为JPA的实现而构建的吗 在冬眠初期没有JPA。Hibernate是第一个将ORM引入主流Java开发的开源库(纯粹是我的观点)。JPA规范是在Hibernate发布之后出现的。Hibernate自然也实现了该规范,
我正在使用Hibernate 3.6并对代码进行注释(而不是使用Hibernate映射文件)。我遇到了使用与Hibernate的级联类型不兼容的JPA级联选项的已知“问题”(有关更多信息,请参阅此链接)
我希望得到更多关于这个问题的澄清。我有一些特别的问题:
1) 所以@Cascade({CascadeType.SAVE_UPDATE})适用于saveOrUpdate(),但是如果我使用merge()或persist(),它也适用吗?或者我必须使用所有三种Hibernate类型
2) 我如何决定
各位。
用新行替换表中的现有行时出现问题。我使用JPA和PostgreSQL数据库。我正在尝试删除所有现有行,然后创建新行,但收到异常:
org.postgresql.util.PSQLException:错误:重复的键值违反唯一约束“user\u destination\u pk”。所有这些操作都在单个JTA事务中。似乎JPA在插入之前不会删除行,但我没有收到删除异常。。。非常感谢您的帮助。在保存/添加新实体之前,请使用HibernateSession.flush()方法刷新(执行SQL)删除
(首先,这不是我的代码。其次,为了保护罪犯,我更改了类名以隐藏特定于我雇主的任何内容,因此,如果事情不一致,这就是原因!)
有人能帮我澄清一个疑问吗?我被要求调查一个完整连接池的问题,这段代码似乎有味道
我们有很多org.hibernate.SessionException:会话已关闭在我们的日志中,围绕下面的代码,它使用的连接池表现不好
这些呼叫通过web服务传入:
1 @Stateless
2 @WebService(name="MyWebService", targetNamespac
我有一个返回实体的简单查询,当我查看hibernate SQL输出时,我看到当我执行此查询时,hibernate会更新@Version字段(每次连续读取时,@Version字段都会更新)。我不会修改我获取的实体中的任何内容,也不会将is作为参数传递给persist或merge。这实际上意味着我的每一次读操作都会变成读+写。
我试着将锁模式设置为“无”(JPA2)和“读”(JPA1)都没有用
有没有办法做到这一点?如果是这样,有没有办法以某种方式将其设置为persistence.xml中的默认行为
我使用的是Spring+Hibernate+JPA,我遇到了无法让实体持久化到数据库的情况。我已经设置了一个用@Transactional注释的服务类。它使用包含注入的EntityManager的DAO。当我调用服务对象上的函数时,我看到DAO正在执行一系列的读取选择,但是没有由于DAO发出的合并和删除而进行更新/删除。我的设置肯定有问题,但我看不出来
persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persis
我有这样一个实体:
public class Account{
private String code;
@ManyToOne
private Account ledgerAccount;
public String getCode(){
return code;
}
public String getFullCode(){
return ledgerAccount.getCode()+code;
}
我有一个实体,其id是SQL Server数据库中生成的GUID(这是第三方数据库,我无法更改其架构),因此定义了字段
@Id
@GenericGenerator(name="generator", strategy="guid", parameters = {})
@GeneratedValue(generator ="generator")
@Column(name="FarmID")
public String getId() {
return id;
}
创建并保存新实体时,首
我正在开始对我的GrailsWeb应用程序进行更为严肃的测试,是时候从hsqldb转向postgres了。一切都进行得差不多,但在创建测试数据时,我在引导中遇到了一个错误。Hibernate在将行插入数据库之前尝试进行选择。
不幸的是,这样做时,它不会将参数传递给select,我得到的异常是没有指定参数1的值
以下是我的域类:
class User {
static constraints = {
deviceId(
blank: false,
我在hibernate HQL查询和HQL中有一个问题。
我有两个实体,一个是Notes,另一个是NotesEmp类,它有一对一的关系。
我的notes类如下所示
class Notes{
private BigDecimal noteId;
private String notes;
@Id
@Column
@GenericGenerator
public BigDecimal getNoteId() {
return noteI
刚刚从Hibernate 3.6更新到Hibernate 4,现在
10-Feb-2012 14:12:31 org.hibernate.dialect.DerbyDialect <init>
WARN: HHH000430: The DerbyDialect dialect has been deprecated; use one of the version-specific dialects instead
10-Feb-2012 14:12:31 org.hibernate.
我刚刚从Hibernate4开始,我注意到它们是定义实体的两种方法。通过定义一个xml文件hbm并将其映射到一个bean,或者只定义一个bean并使用注释来映射DB-like(@Entity,@column..etc)中的表
我的问题是这两种方法有什么区别?
如果问题很简单,很抱歉,但我无法在网上找到我的答案
感谢您的帮助使用注释将您的模型(实体)与Hibernate框架绑定得相当紧密(您引入了它们之间的耦合)。另一方面,您的源代码变得更具可读性,因为您不必在XMLs和Java源文件之间切换
最
我们正在使用JPA/Hibernate启动一个新的projet。团队中有人拒绝使用命名查询,说他以前遇到过性能问题。根据他的说法,命名查询不仅在启动时被解析,而且还会被执行,这将大大降低启动速度
是否正确?如果正确,是否有任何配置可防止hibernate执行查询?但它们运行得更快。。那么,您希望的是启动速度较慢还是查询性能更快
通过验证,您还可以获得很好的好处,因此可以及早发现错误
但这当然是理论。和往常一样,在性能方面,您应该在自己的系统上进行测试和验证
这是一本关于这个主题的好书:
根据他
我在mysql数据库中有一个多对多关系(模块--Subject)。Entite是由Eclipse生成的,我在两个类中都添加了方法add。我使用JBossAS7/Hibernate。当我在EJB中调用persist方法时,我得到
org.hibernate.exception.ConstraintViolationException: Duplicate entry '3' for key 'PRIMARY'
我知道这一定是个小错误,但我就是看不出来。我在这里讨论了StackOverflow和R
标签: Hibernate
entity-relationshiphibernate-criteria
假设我有这样一个实体:
@Entity
@Table(name = "ITEMS")
public class Item {
@OneToMany(mappedBy = "item")
private Set<ItemParameterValue> parameterValues;
}
它与项参数有关:
@Entity
@Table(name = "ITEM_PARAMETERS", uniqueConstraints = @UniqueConstraint(co
我是在研究Spring/Hibernate/JPA时遇到这个问题的
这是我问题的概要
我在学生和出勤表之间有很多关系
以下是如何构建我的实体:
@Entity
class Student{
@Id
private Long id;
@OneToMany(mappedBy = "student",
cascade = { CascadeType.PERSIST, CascadeType.MERGE,
Cas
请帮忙-我的申请一直到今天都很顺利。今天我得到了一个异常“无法反序列化”。java.io.eofException。有时我能得到数据。问题是间歇性的。这里可能有什么问题
@Entity
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class Filter {
private int id;
private String name;
private User user;
p
我有一个使用Hibernate和Tomcat提供的JPA的webapp。我没有DI框架,没有Spring,没有Guice,没有完整的JavaEE应用服务器
我需要JPA连接到两个不同的数据库。我像这样连接到第一个数据库:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("mydb");
[...]
EntityManager em = emf.createEntityManager();
EntityManag
我的应用程序有很多cfg和hbm文件。我在加载它们时出错。
确定的问题与DTD有关
原始文档类型如下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3
我有以下映射:
<class name="Animal" table="Animal" abstract="true">
<id name="Id" column="Id" type="Guid">
<generator class="guid.comb"/>
</id>
<joined-subclass name="Dog" table="Dog" lazy="false">
&
标签: Hibernate
hqlhibernate-criteriaquery-by-example
我想使用hql或条件创建一个hibernate查询,以获取一个单词的所有排列,对于我想获取的单词elepahant:
伊莱芬特
伊莱芬特
伊利芬特
elefant
起初,我假设“%”“+”elepahant“+“%”可以完成这项工作,但实际上它只返回以任何字母开头、以任何字母结尾并包含大象的任何单词,但我想得到上面示例中的所有单词重置,那么有什么可能的方法可以做到这一点呢?看看Hibernate搜索、Lucene和拼写检查。我认为用简单的SQL无法完成这些事情。
一个非常简单的解决方案是使用
我正在WebSphereApplicationServer6.1中使用Hibernate3。
我正在使用JNDI连接到我的数据源。我在管理控制台中检查了连接,连接成功。但当我在服务器上部署我的项目并使用JNDI连接到数据源时,我得到了下面的错误消息
Caused by: java.lang.NullPointerException
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:159)
您好,您能说一下如何从iheritors在DB中创建表(而不是为具有带描述符的继承器的基类创建一个表)吗?
例如:
我有一个基本抽象类:
public abstract class Person
{
public string Name;
}
有些继承人喜欢:
public class Student : Person
public string University;
}
public class Driver : Person
{
publi
我们正在使用@SequenceGenerator映射实体,并已将allocationSize设置为100。Hibernate适当地生成主键
我们现在有了一个后台作业,必须在表中插入一组新记录。此过程完成后,我们希望强制Hibernate重置其分配块,并再次从序列中读取下一组ID
否则,hibernate将生成下一组ID(基于留在分配池中的ID),这些ID可能与流程输入的新记录重叠
有没有办法清除分配池并强制hibernate重新加载序列nextval?系统范围的设置也可以(即强制重新加载所有序列
我正在尝试创建一个链接表来链接父母/孩子,他们都属于同一类型(person)。我还试图创建一个链接表来链接球员和球队
在团队课程中,我有:
@OneToMany
@JoinTable(name = "PLAYER_TEAM_LINK",
joinColumns = {
@JoinColumn(name = "TEAM_ID")},
inverseJoinColumns = {
@JoinColumn(name = "PLAYER_ID")}
假设有一个实体学生与一个被延迟加载的实体主题有一对多的关系@OneToMany注释用于指定关系。我想了解hibernate如何处理此注释的内部工作原理。当从数据库中读取的数据创建Student实例时,hibernate使用自己的集合实现实例(称为PersistentCollection)初始化主题集合
此PersistentCollection最初未初始化,不包含任何数据。第一次调用此集合的任何方法时,将执行SQL查询以加载学生的所有主题,然后将主题缓存在集合中以供后续所有方法调用。:)它是开源
我有两张名为学生和学校的桌子。我的学生表列为(studentName、studentNumber和school\u id\u fkey)。我的学生实体看起来像
public Class Student{
String studentName;
String studentNumber;
@JoinColumn(name = "school_id_fkey", referencedColumnName = "id")
School school;
....
}
我想做的是我想得到
我的Grails应用程序有一个服务方法,用于更新last.fm的web服务中的艺术家列表
@Transactional(propagation = Propagation.NOT_SUPPORTED)
void updateLastFmArtists(Range idRange = null) {
Artist.list().each { Artist artist ->
// We could be updating a lot of artists here
最近当我使用hibernate搜索时,总会有一条信息:
DEBUG MultiReaderFactory - Closing MultiReader: CacheableMultiReader(ReadOnlyDirectoryReader(segments_1:nrt _0(3.6.2):C295103))
我在谷歌上找不到任何有用的信息。有人有想法吗
我发现在query子句之后:
CacheQuery cq = CSECore.searchManager.getQuery(query,En
如何在应用程序中多次调用domain.save()?当我在应用程序中途保存域,然后在提交应用程序时再次保存域时,它会引发非唯一对象异常。在提交应用程序之前,我还尝试调用.merge(),但它抛出了一个org.hibernate.StaleObjectStateException:行被另一个事务更新或删除(或者未保存的值映射不正确)
提前感谢在域对象上调用save flush:true并清除会话(参见下面的示例)。有关更多详细信息,请查看:grails.org/doc/latest/guide/G
我最近在实体对象中添加了JPA审计。这是抽象类
@MappedSuperclass
@JsonIgnoreProperties( { "createdBy", "lastModifiedBy", "createdDate", "lastModifiedDate" } )
public abstract class AbstractEntity<PK extends Serializable> implements Auditable<User, PK> {
pr
标签: Hibernate
hibernate-criteriadetachedcriteria
我有一个带有字段链接的类事件:
我需要搜索所有具有非空sourceKey字段的all链接房间的所有事件
我在DAO中使用了Hibernate标准:
public List<Event> search(EventSearchCriteria searchCriteria)
{
Criteria criteria = getCurrentSession().createCriteria(clazz);
criteria.setResultTransformer(Crite
我有一个关于@OneToMany与自动生成的ID绑定的简单问题-下面是代码的相关部分。我面临的问题是,在我的每个偏差中,生成的自定义id没有添加到sampleRequest实例中。它试图在数据库中插入null,而我不允许null,因此它失败了
谢谢
@Entity
@Table(name="SAMPLE_REQUESTS")
public class SampleRequest implements Serializable {
@Id
@Column(name="REQUEST_
我在使用@EmbeddedId和外键进行双向一对一映射时遇到了一些问题
每次执行em.find(Bkftd03,Bkftd03PK.class)y都会得到相同的错误:
Error performing load command : org.hibernate.TypeMismatchException:
Provided id of the wrong type for class com.ibc.gsr.entity.Bkftd03. Expected: class com.ibc.gsr.
当前在循环内的事务上存在事务死锁:
def method() {
attemptIds.each { attemptId ->
Attempt.withTransaction {
def attempt = Attempt.findById(attemptId, [lock:true])
attempt.refresh()
//modify attempt and save
}
我有一个下拉列表,其中包含表单中的目的地名称。在Place表中,我有一个外键:destination\u id,它对应一个destination\u名称。在我的控制器中,当我试图设置目的地id的值时,我得到错误400,它说:客户端发送的请求在语法上不正确。
This is entity class: Place.java
package com.tawesomeness.edikshedik.model;
import javax.persistence.Entity;
import jav
我创建了一个在DB中修改表的简单项目。我使用WebLogicServer10.3和Hibernate(Hibernate-core-4.1.0.jar)进行jdbc连接。我已经在weblogic中为相同的连接池创建了数据源(oracle.jdbc.xa.client.oraclexadasource)。当我执行程序时,出现以下错误--
您泄漏了一个连接。没有关上。它变为非活动状态,但不在池中。一段时间后,WLS注意到连接实际上处于非活动状态,即泄漏,并强制关闭连接,将其返回到池中
提及
格姆雷
可以在外键映射上使用索引吗?
我有下面的orm,在数据库生成之后,我只看到index name=“index\u start”,外键上的索引不会生成
<entity name="person" class="gp.model.Person">
<attributes>
<basic name="name">
</basic>
在JavaEE7项目中,我需要一个自定义ConnectionProvider,它使用记录的用户ID调用DB函数,并设置为DB会话变量
我的问题是,我不能将我的登录用户注入MyConnectionProvider,但注入所有其他bean——没有问题
这是我的连接提供程序:
@SessionScoped
@Named
public class MyConnectionProvider implements ConnectionProvider, Configurable, Serializable
我有以下实体Product(-placement)和CustomerReview与许多关系。我使用Hibernate和spring数据jpa来持久化我的实体
public class ProductPlacement implements Serializable{
private static final long serialVersionUID = 1L;
public ProductPlacement(Long id){
this.id = id;
}
我有自己的自定义Hibernate拦截器实现,但我想使用一个依赖项:
class MyInterceptor extends EmptyInterceptor {
private Handler handler;
public void setHandler(Handler) {
this.handler = handler;
}
@Override
pubic boolean onFlushDirty(...) {
handler.customLogic
}
我正在使用JPACriteriaBuilder创建查询并使用构造函数基选择。但在我的例子中,我希望特定参数(Dummy)有一些默认值。但该参数不是表列
有没有办法做到这一点
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<HEntity> cq = cb.createQuery(HEntity.class);
Root<HTable> root = cq.from(HT
我正在尝试创建一个POC,以便在Grails之外使用GORM。我创建了一个groovy gradle独立插件。我跟着火车走了
在main()类中对我的用户域进行了count()查询。使用gradle run命令运行应用程序时遇到以下错误:
Exception in thread "main" org.springframework.dao.DataAccessResourceFailureException: Could not obtain current Hibernate Session;
我正在使用Spring Boot开发一个应用程序,因此我使用的UML类有3个实体:
管理员(id、用户名、密码、电子邮件)
经理(id、用户名、密码、电子邮件、电话)
客户(id、用户名、密码、电子邮件、电话、地址)
管理员与Manager之间有一对多/多对一的映射
也可使用实体客户端进行一对多/多对一
经过一些研究,我将其改为用户/角色系统,因此实体用户
具有如下属性:
public class AppUser implements Serializable {
@Id @G
希望你能帮我停止把头撞到墙上
这是我的问题,在许多论坛上进行了大量的研究之后,我没有找到任何与我遇到的问题相一致的答案
我有org.hibernate.LazyInitializationException:未能延迟初始化角色集合:com.supinfo.suppicture.entity.User.pictures,没有关闭任何会话或会话,这似乎是一个已知的异常,但仍然让我抓狂
我尝试过强制进行急切加载,而不是延迟加载,但仍然存在同样的问题
以下是我的课程:
category.java
@En
JPA:saveAll(列表)未按预期工作
`for(int i=0;i请显示一些代码,说明如何创建对象以及实体的外观。是否实现了equals?列表中有N个对单个唯一对象的引用。必须有一个新的MyProject()在循环中。我无法再关闭,但这是“非常感谢”的副本。通过添加新的MyProject()解决了此问题。能否提供您的解决方案作为答案?否则问题将显示为未回答。谢谢
` for(int i=0;i<units.size();i++){
obj = units.get(i
以下是包含@NotBlank注释的实体:
import javax.validation.constraints.NotBlank;
//...
@Entity(name = "funds")
@SQLDelete(sql = "UPDATE funds SET deleted_at = now() WHERE id = ?")
@Where(clause = "deleted_at is null")
public class Fund implements Serializable {
我有两张桌子
文章
评论
在存储库中:
interface ArticlesRepository : JpaRepository<Article, Long>{
fun findArticlesByUsername(username:String):List<Article>
}
我想通过user\u z
因此,结果将是:
- article_a
- comment_2 by user_z
- article_b
- article_c
对不