草庐IT

Hibernate

全部标签

java - 在 hibernate 中更新对象的字段

我有一个objectA映射到数据库中的tableAclassA{Integerid;Stringfield2,field2;field3,...fieldN;//lotsofotherattribute}现在我想写一个只更新单个字段的DAOapi。一种方法是我可以先加载对象,然后更改我需要的属性,然后使用合并api//starttranscationAa=session.load(A.class,id);A.setfieldP(newValue)session.merge(A)//committranscation现在如果我使用下面的代码//starttranscationAa=new

java - 仅将日期的日期部分与 Hibernate 中的时间戳进行比较

我在数据库中有时间戳,在应用程序中我有日期。我喜欢以这样的方式编写hibernate标准,即hibernate可以提取与日期匹配的所有条目,而不是时间部分。例如在数据库时间戳中2011-12-0115:14:14在应用程序中我确实有java.util.Date,默认情况下它有时间部分。我的问题是,当我使用以下代码从数据库中搜索条目时,我一无所获DetachedCriteriacriteria=DetachedCriteria.forClass(MyClass.class);criteria.add(Restrictions.like(TIMESTAMP_FIELD,javaUtilDa

java - 我怎样才能找出是什么让我的 WAR 在 Tomcat 上部署了这么长时间?

我有一个Web应用程序,它通常需要大量时间才能部署到Tomcat上。我怀疑某个地方有一个数据库连接正在等待超时,但这只是一个猜测,我想确定是什么导致了延迟,以便我可以解决这个问题。任何人都可以建议我可以这样做的方法吗?我应该在加载WAR时分析Tomcat并在那里寻找线索吗?如果有,是否有适合初学者的教程?如果这很重要,我的Web应用程序使用Spring和Hibernate。一位同事告诉我,也许这些是导致速度变慢的原因,因为它们是如此之大,以至于某个地方的类加载器因需要加载的类的绝对数量而窒息。当我停止Tomcat或将WAR热部署到已经运行的Tomcat时,我也会看到这个:Jun1,20

java - 为什么Hibernate STRING无法解析?

我刚刚下载了新版本的Hibernate4.0.1最终版本。很奇怪,当我输入以下代码时:Hibernate.STRINGeclipseIDE显示STRING关键字错误。我确定我的构建路径中有hibernatejar,并且还包含以下代码:importorg.hibernate.Hibernate;我只是想知道为什么会发生这种情况? 最佳答案 因为thatfielddoesn'texistin4.0.fielddocumentationin3.5是这样说的:Deprecated.seehttp://opensource.atlassian

java - JPA/Hibernate 双向多对一导致 StackOverflowException

我有具有双向一对多关系的实体User和GrantedRole。当我尝试将GrantedRole添加到User中的Set时,没有抛出异常,但是当我调试User和GrantedRole对象的变量时,有一个描述com.sun.jdi.InvocationExceptionoccurredinvokingmethod.变量的不同字段可以在调试时读取,但是当我选择User中的roles字段或GrantedRole中的user字段时,我得到与上面相同的描述。当我进入用户中的GrantedRole集合时,我最终找到了以下描述:Detailformattererror:Anexceptionoccur

java - 使用 Hibernate 获取重复条目

我在使用JPA/Hibernate时遇到了一个奇怪的问题。我在测试期间看到重复的条目。这是我的BaseEntity类:@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicabstractclassBaseEntity{@Id@Column(name="ID",updatable=false,nullable=false)@GenericGenerator(name="uniqueIDGenerator",strategy="org.hibernate.id.enhanced.SequenceStyleGe

java - Hibernate:实体内部类没有默认构造函数

我意识到有很多类似的问题,但没有一个能帮助我解决这个问题。我正在使用一个名为Tynamo的CRUD框架,它又依赖于ApacheTapestry和Hibernate。这一切都很好,除了当我尝试将它用于具有复合/复合主键的表上的CRUD时。我决定不采用@EmbeddedId路线,因为它似乎根本不适用于该框架。话虽如此,我一直在使用@IdClass方法,该方法大部分都有效;我认为我距离成功只有一两行代码。问题是,当它开始使用反射来构建对象时,它会爆炸并说,org.hibernate.InstantiationException:Nodefaultconstructorforentity:..

java - Spring Boot 扩展 CrudRepository

我在SpringBoot应用程序中使用Hibernate。我正在为我的所有模型对象创建一个新的CrudRepository,以执行基本的CRUD任务。它们看起来像这样:@RepositorypublicinterfaceFoobarCrudRepoextendsCrudRepository{}但之后我总是需要做一些额外的事情,比如带有不等式的自定义搜索查询等。我遵循这样的模式:@RepositorypublicclassFoobarDao{@PersistenceContextEntityManagerem;publicListfindFoobarsByDate(Datedate){S

java - 输入类型 ="date"thymeleaf

我需要向我的实体添加日期,并让用户在Web表单中设置它。默认情况下,此字段需要填写今天的日期。1.显示为默认设置的正确日期2.显示没有任何值的日期选择器(注意:StringstartDate="2016-08-01";)3.生成400错误(Badrequest)(注意:DatestartDate=newDate();)那么,问题是:如何使用thymeleaf输入日期?我可以使用Date()数据类型来输入和存储此类数据吗?我需要如何在表单中设置“th:field”?如何以相同的形式设置“th:value”?我的Controller:@RequestMapping("/project_ne

java - JPA/Hibernate - 嵌入属性

我在映射类的嵌入式属性时遇到问题。我创建了一些类,这些类与我试图说明的类相似。基本上,我有一个使用继承的@Embeddable类层次结构。顶级类“PartNumber”只有一个属性,扩展类不向“PartNumber”类添加任何属性,它们只添加一些验证/逻辑。我的意思是:部分@Entity@Table(name="PART")publicclassPart{privateIntegerid;privateStringname;privatePartNumberpartNumber;@Id@GeneratedValue(strategy=GenerationType.SEQUENCE)pu