Tag: hibernate

混乱:@NotNull vs @Column(nullable = false)

当他们出现在@Entity的字段/ getter时,他们之间有什么区别? (我坚持实体通过hibernate )。 他们每个人所属的框架和/或规格是什么? @NotNull位于javax.validation.constraints 。 在javax.validation.constraints.NotNull javadoc中说 注释元素不能为空 但是它并不涉及数据库中元素的表示,所以为什么要将约束nullable=false添加到列?

单向和双向关联有什么区别?

单向和双向关联有什么区别? 由于在db中生成的表都是相同的,所以唯一的区别是我发现双向关联的每一边都会有一个引用另一个,而单向不是。 这是一个单向关联 public class User { private int id; private String name; @ManyToOne @JoinColumn( name = "groupId") private Group group; } public class Group { private int id; private String name; } 双向关联 public class User { private int id; private String name; @ManyToOne @JoinColumn( name = "groupId") private Group group; } public class […]

Apache Commons equals / hashCode builder

我很想知道,这里的人们在考虑使用org.apache.commons.lang.builder EqualsBuilder / HashCodeBuilder来实现equals / hashCode ? 这会比写自己的做法更好吗? 它与Hibernate一起玩吗? 你怎么看?

DAO和Repository模式有什么区别?

数据访问对象(DAO)和存储库模式有什么区别? 我正在开发一个使用Enterprise Java Bean(EJB3),Hibernate ORM作为基础结构的应用程序,以及作为devise技术的领域驱动devise(DDD)和testing驱动开发(TDD)。

为Hibernate表和列自动保留字转义

我正在尝试为几个不同的数据库使用一个Hibernate映射:H2,Oracle,MySql。 每个数据库都有一个不同的保留字列表。 我想Hibernate自动转义保留字。 我知道我可以: 使用反引号强制转义(逃避一切只是为了安全) 改变所有的标识符,所以他们肯定不是关键字在任何数据库(使他们难看) 将模式绑定到一组特定的数据库,转义关键字的联合(如果向混合添加新的数据库,将会中断) 有没有更优雅的解决scheme?

hibernate – @ElementCollection – 奇怪的删除/插入行为

@Entity public class Person { @ElementCollection @CollectionTable(name = "PERSON_LOCATIONS", joinColumns = @JoinColumn(name = "PERSON_ID")) private List<Location> locations; […] } @Embeddable public class Location { […] } 鉴于以下类结构,当我尝试将新位置添加到人员位置列表时,总是会导致以下SQL查询: DELETE FROM PERSON_LOCATIONS WHERE PERSON_ID = :idOfPerson 和 A lotsa' inserts into the PERSON_LOCATIONS table Hibernate(3.5.x / JPA 2)删除给定Person的所有关联logging,并重新插入所有以前的logging,加上新的logging。 我有这样的想法,位置上的equals / hashcode方法将解决问题,但它并没有改变任何东西。 任何提示都表示赞赏!

CreateProcess error = 206,运行main()方法时文件名或扩展名太长

我在eclipse helios中有这个错误: 执行命令行发生exception。 无法运行程序“C:\ Program Files(x86)\ Java \ jre6 \ bin \ javaw.exe”(目录“C:\ Users \ motiver \ helios_workspace \ TimeTracker”):CreateProcess error = 206,文件名或扩展名是太长 我研究了一下,但在Google App Engine上工作时,大部分问题都与DataNucleus有关。 但是我没有使用与Google App Engine远程相关的任何内容。 我正在用JBOSS 6上的Servlet 3.0做一个小项目。我正在使用Hibernate 4.1.2 for ORM和RESTEasy来公开Web服务。 我创build了一个具有main()方法的util文件,该方法基本上可以删除并重新创build模式。 当我需要一个干净的数据库进行testing时,我运行main()方法。 它在Tomcat 7上运行良好,但当我转移到JBoss 6时,它停止工作。 任何提示或解决scheme将不胜感激。

Criteria.DISTINCT_ROOT_ENTITY vs Projections.distinct

我对Hibernate来说很新。 我发现我们可以用以下两种不同的方法得到不同的结果。 有谁能告诉我他们之间有什么区别? 何时使用其他的? Projections.distinct(Projections.property("id")); VS criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

hibernate标准join3个表

我正在寻找一个hibernate条件来获得以下内容: Dokument.class被映射到angular色roleId Role.class有一个ContactPerson contactId Contact.class名字姓氏 我想在Contact类上searchFirst或LastName,并检索已连接的Dokuments的列表。 我曾尝试过这样的事情: session.createCriteria(Dokument.class) .setFetchMode("role",FetchMode.JOIN) .setFetchMode("contact",FetchMode.JOIN) .add(Restrictions.eq("LastName","Test")).list(); 我得到一个错误无法parsing属性“姓氏”类“Dokument” 有人可以解释为什么joinsearchDokument而不是所有连接的表? 在此先感谢所有的帮助!

我如何获得会话对象,如果我有entitymanager

我有 private EntityManager em; public List getAll(DetachedCriteria detachedCriteria) { return detachedCriteria.getExecutableCriteria( ??? ).list(); } 如何使用entitymanager检索会话,或者如何从detachedcriteria中获取结果?