草庐IT

hibernate3

全部标签

java - 多个数据库的 Hibernate 自动递增字段

我有一个Java对象,它有一个字段需要在数据库中自动递增。该字段不是主键,只是一个需要自增的字段。我的问题是在执行session.save(Object)之前我需要在我的Java对象中设置这个字段的值是多少?我必须将它设置为NULL吗?Hibernate映射将如何查找该字段?这就是我所拥有的,但它不起作用:应用程序还需要同时支持MySQL和SQLServer。提前致谢。 最佳答案 我会尽量保持简单,只用insert=false,update=false属性标记该属性。在将@Generated批注与命名查询一起使用之前,我遇到了麻烦,

java - 使用Hibernate将文件保存在mysql数据库中

我正在尝试找出使用Hibernate在mysql数据库中保存/检索文件的“正确”、故障安全方法。该解决方案必须处理非常大的文件,因此尽量减少内存占用量很重要。到目前为止,我的解决方案:包含java.sql.Blob字段的模型类,getter用“@Lob”注释。publicstaticvoidmain(String[]args){DAOFactoryfactory=DAOFactory.getFactory();IResultExtraDAOresultExtraDAO=factory.getResultExtraDAO();factory.getResultExtraDAO().beg

java - 抽象类上的 Hibernate/JPA 映射

使用Hibernate实现以下情况的最佳实践是什么。我们定义了一个抽象类,它将构成我们想要持久保存在数据库中的任何对象的基础。它包含id等...publicabstractclassModelObject{protectedintid;...}现在我们将我们的基类子类化为特殊情况,其中多个实体将具有相似的字段。publicabstractclassModelObjectWithNoseextendsModelObject{...protectedNosenose;}现在,对于我们想要一个Nose的所有类:publicclassPersonextendsModelObjectWithNo

mysql - Hibernate 查询数据库

我对hibernate对数据库的查询量有疑问。这是我在进行简单选择时对数据库的查询日志(使用Mysql5.1):1111257:18:3027QuerySETautocommit=027QuerySELECT@@session.tx_isolation27Queryselectthis_.idasid34_0_,this_.media_idasmedia3_34_0_,this_.messageasmessage34_0_,this_.user_idasuser4_34_0_fromnotificationsthis_27Queryrollback27QuerySETautocommi

java - 如何使用 MySQL Read-Replica 配置 Spring/Hibernate

我有一个Java应用程序,它使用Spring/Hibernate(在AmazonElasticBeanstalk上运行)和一个普通的AmazonRDS实例。为了分配负载,我添加了一个只读副本。我将DB.url交换到只读副本并测试了一个应该只读取数据的方法(这些方法绝对不使用UPDATE、INSERT或DELETE)。但是,应用程序返回错误。我的问题:为什么应用程序仅在读取数据时会失败?我如何配置Spring/Hibernate以使用只读副本?详情:我得到的错误是:INFO:InternalerrorinmethodIEngageManager.getSimpleExamActivity

java - Spring和Hibernate项目每天抛出JDBC异常

我的项目使用Spring和Hibernate,我的数据库是MySql。我正在使用注释而不是xml。每天,当我发出第一个登录请求时,我都会收到此异常,然后刷新后就可以了。18-Feb-201610:59:20.990SEVERE[http-nio-443-exec-9]org.apache.catalina.core.StandardWrapperValve.invokeServlet.service()forservlet[dispatcher]incontextwithpath[/ATS]threwexceptionorg.springframework.transaction.Ca

Java Hibernate C3P0存储过程命名查询错误-语句关闭后不允许进行操作,无法释放JDBC连接

使用Java运行我的存储过程时遇到一些奇怪的问题,Hibernate,C3P0,namedquery,MySQL.存储过程DELIMITER$$USE`testdb`;CREATEPROCEDURE`GetWebUserData`(INrequestIdINT)BEGINDECLAREkeyIdLONGDEFAULT1;DECLAREnameVARCHAR(255)DEFAULT'testname';SelectkeyId,name;END;$$DELIMITER;WebUserData.hbm.xmlHibernate.cfg.xml30003600falsetrue11025012

java - hibernate 保存奇怪的行为

我有一个与String类型具有一对多关系的用户对象。我相信它们是简单的映射。types表包含关联的user_id和变量类型名称,主键“id”基本上是一个计数器。...这是我用来添加到数据库的java:Useru=newUser();u.setId(user_id);...Collectiont=newHashSet();t.add(newType(auto_incremented_id,user_id,type_name));u.setTypes(t);getHibernateTemplate().saveOrUpdate(u);当我运行它时,它给出了这个错误:61468[http-8

mysql - "SELECT ... FOR UPDATE"不适用于 Hibernate 和 MySQL

我们有一个系统,我们必须在一个实体中使用悲观锁定。我们正在使用hibernate,所以我们使用LockMode.UPGRADE。但是,它不会锁定。表是InnoDB我们已检查锁定在数据库(5.0.32)中是否正常工作,所以这个错误http://bugs.mysql.com/bug.php?id=18184好像没问题。我们已检查数据源是否包含autoCommit=false参数。我们检查过SQLhibernate(版本3.2)生成的包含“FORUPDATE”。谢谢, 最佳答案 我遇到了非常相似的事情。我在Spring中使用@Transa

java - hibernate 获取非默认 mysql 端口的拒绝连接

我在默认的3306端口上从Linux连接到MySQL(5.1.6)数据库,一切正常:现在,我进入/etc/mysql/my.cnf并将默认端口更改为3307([client]和[mysqld])重新启动MySQL,调整hibernate连接url:然后重启jboss。这次我无法再连接了:08:22:05,276WARN[org.hibernate.util.JDBCExceptionReporter](MSCservicethread1-13)SQLError:0,SQLState:08S0108:22:05,276ERROR[org.hibernate.util.JDBCExcept