草庐IT

Hibernate_sequence

全部标签

java - (N)Hibernate "session-per-application"被认为是特定用例的邪恶?

好的,每个人都知道不鼓励使用(N)Hibernate的全局session每个应用程序。但是我有一个非常具体的、显然是非标准的用例,它似乎是理想的解决方案。总而言之,我的(服务器)应用程序的所有持久数据基本上都在内存中,并且从不查询数据库以进行正常操作。首先使用数据库的唯一原因是数据在进程的生命周期内存活。我只想在应用程序启动时查询数据库以将所有内容提取到内存中。实际上,该数据库只有大约5-10MB。现在的问题是,如果我遵循session必须是短暂的建议,我必须为每个业务交易合并()我的所有数据,或者以某种方式手动跟踪所有更改,而不是利用NHibernate的自动更改跟踪。这使得持久性很

java - 多对多关系的属性 (Hibernate)

我有实体类A和C。它们正在映射表tblA和tblC,它们之间存在多对多关系,tblB在它们之间进行映射。tblB包含A_ID、C_ID和SetDate,最后一个是设置日期,因此是关系的属性。我的问题是,我如何最好地映射到这个属性中?目前它们未映射,如下所示:答:@ManyToMany(targetEntity=C.class,cascade={CascadeType.PERSIST,CascadeType.MERGE})@JoinTable(name="tblB",joinColumns=@JoinColumn(name="A_ID"),inverseJoinColumns=@Join

java - 处理 hibernate UnsupportedOperationException : Can't write to a readonly object

我需要设置哪些配置参数或session首选项来解决此问题?无法写入只读对象?以下是更多信息的堆栈跟踪:Causedby:java.lang.UnsupportedOperationException:Can'twritetoareadonlyobjectatorg.hibernate.cache.ReadOnlyCache.lock(ReadOnlyCache.java:43)atorg.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:85)atorg.hibernate.engine.Action

java - Hibernate:单表中的父/子关系

我几乎看不到任何关于以下与Hibernate相关的问题的指示。这与使用具有父子关系的单个数据库表实现继承有关与自身的关系。例如:CREATETABLEEmployee(empIdBIGINTNOTNULLAUTO_INCREMENT,empNameVARCHAR(100)NOTNULL,managerIdBIGINT,CONSTRAINTpk_employeePRIMARYKEY(empId))此处,managerId列可能为空,或者可能指向Employee表的另一行。业务规则要求员工了解他所有的下属,并让他了解他/她的经理。业务规则还允许行具有空managerId(组织的CEO没有经

java - getCurrentSession 在网络中 hibernate

我正在使用hibernate和jsp/servlet编写一个基于Web的应用程序。我已经阅读了sessionFactory.getCurrentSession和sessionFactory.openSession方法。我知道它们之间的基本区别(使用getCurrentSession您不必关闭连接,当您提交事务时,您的session将自动关闭)。根据我的理解,我们应该选择getCurrentSession并通过session-per-request来完成。让我们考虑以下场景:方法A调用getCurrentSession并获取当前session在方法A中,使用步骤1中的session启动事

java - Hibernate 实体 Autowiring

请问我怎样才能很好地为Hibernate实体启用SpringAutowiring?假设我有一个实体并希望在那里有邮件发送者:@EntitypublicclassEmailActivityextendsActivity{@Autowired@TransientprivateJavaMailSenderjavaMailSender;...}有没有比做更好的方法AutowireCapableBeanFactory.autowireBean(getCurrentSession().get(Activity.class,id));在我的DAO中?谢谢! 最佳答案

java - Hibernate 自动版本控制

我开发了一个客户维护应用程序。用户可以通过网络界面更改客户详细信息。我想处理以下场景:用户1加载customer1详细信息。User2加载customer1详细信息。User1更改并保存customer1的name。User2仅更改并保存customer1的年龄。在上面的场景中,最终数据库保存了customer1的旧名字和新年龄,因为User2覆盖了User1的更新.我正在使用hibernate。我听说HibernateAutomaticVersioning支持这个。如果有人知道如何处理这个问题,请告诉我。 最佳答案 你只需要添加一

java - Hibernate 3 关于删除级联

我有一个关于预订的多对一映射。预订必须属于一个房间。一个房间可以有多个预订。如果一个房间被删除,我希望该房间的所有预订也被删除。我将如何使用hibernate注释来执行此操作?@EntitypublicclassBookingimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;privateDatestartDate;privateDateendDate;privateDatecreatedDate;@ManyToOne@JoinColumn(name="roomId"

java - 使用 Hibernate 以 block 的形式读/写 blob 数据

有没有一种方法可以使用Hibernate以block的形式从blob读取和写入。现在我收到OutOfmemoryException,因为整个blob数据都加载到内存中的byte[]中。更具体地说,假设我想将一个大文件保存到名为File的数据库表中。publicclassFile{privatebyte[]data;}我在FileInputStream中打开文件,然后呢?我如何告诉Hibernate我需要流式传输内容并且不会立即提供整个byte[]数组?我应该使用Blob而不是byte[]吗?无论如何,我如何流式传输内容?关于阅读,有没有一种方法可以告诉hibernate(除了延迟加载之

java - hibernate 。 PSQL异常 : bad value for type int : admin

嗯,我有一个使用JAVA和Hibernate4.3.1的桌面应用程序。现在我只有两个实体(用户和角色)。用户...@ManyToOne(fetch=FetchType.LAZY)@Fetch(FetchMode.JOIN)@JoinColumn(nullable=false,name="fk_role")privateRolefk_role;...作用...@Column(name="admin",nullable=false)@Type(type="org.hibernate.type.BooleanType")privatebooleanadmin=false;...我试过@Typ