草庐IT

HIbernate

全部标签

java - 是否可以在没有对象到对象映射的情况下强制执行外键?

假设提供了以下映射:Java类:publicclassA{privatelongid;privateBentityB;//gettersandsettersskipped}是否可以更改Hibernate映射,以便Hibernate在启动时仍然强制执行和创建外键,但是类A看起来像下面这样:publicclassA{privatelongid;privatelongidOfB;//gettersandsettersskipped}我明白如果我转换进入这可行,但数据库不会强制执行外键。我需要这样做,因为对象B可能(或可能不会)单独初始化,这有时会导致org.hibernate.LazyIni

java - 如何使用 Hibernate 获取 10 个随机唯一对象的列表?

有没有人有HQL查询如何从数据库中获取10个随机唯一对象的列表?它应该在数据库而不是应用程序中完成。我想要获得比我当前的解决方案性能更好的东西,该解决方案几乎需要10个请求来归档列表。 最佳答案 HQL应该是这样的:session.createQuery("selectofromObjectoorderbyrand()").setMaxResults(10).list()rand()被传递到数据库,所以用您的数据库使用的任何函数替换它。 关于java-如何使用Hibernate获取10个

java - 获取SessionFactory中设置的所有表名

有没有办法检索由SessionFactory管理的所有表的名称?例如,所有通过AnnotationConfiguration.addAnnotatedClass(...))添加的表? 最佳答案 这里是如何使用getClassMetadata获取一个表名ClassMetadatacm=sessionFactory.GetClassMetadata(className);AbstractEntityPersisteraep=(AbstractEntityPersister)cm;StringtableName=aep.getTableN

java - dtype 列太短,无法容纳类名

我有一些使用Hibernate存储在数据库中的长名称类。我注意到hibernate将dtype列(用于继承支持)创建为charactervarying(31)。由于类名超过31个字符,插入失败。解决它的最佳方法是什么?因为我有很多类,所以我更喜欢一些全局设置,而不是为每个类添加注释。 最佳答案 JBNizets的替代答案是指定@DiscriminatorColumn(length=100)将提供足够长的列。 关于java-dtype列太短,无法容纳类名,我们在StackOverflow上

java - 如何在 spring 项目中使用自定义注释(hibernate)加密/解密数据

我正在为一个项目开发一些RESTFull网络服务。我使用Spring框架并使用gradle进行构建。问题是,我想在写入和读取数据时对数据表进行加密和解密。我已经有了一个算法(类)来使用AES等加密和解密数据。我需要的是,如何将此方法注释为hibernate实体类,我是否需要为此类创建bean?例如:-@Column(columnDefinition="LONGBLOB",name="card_no")@ColumnTransformer(read="decrypt(card_no)",write="encrypt(?)")privateStringcardNo;像这样我想在这里添加我自

java - Hibernate 未知的 ids 整数数据类型

我刚开始使用Hibernate,我遇到了一个我无法弄清楚的错误。我有以下类(class):@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicabstractclassAbstractColumn{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateStringid;privateStringname;//Otherstuff}然后我有@EntitypublicclassDoubleColumnextendsAbstractColumnimplem

java - JPA 查询中子对象的排序返回

所以如果我的JPA查询是这样的:SelectdistinctpfromParentpleftjoinfetchp.childrenorderbyp.someProperty我正确地得到了按p.someProperty排序的结果,并且我正确地得到了我的p.children集合急切获取和填充。但我希望我的查询类似于“按p.someProperty、p.children.someChildProperty排序”,以便每个父对象中填充的集合由someChildProperty进行子排序。当我考虑为这些调用实际生成的sql时,这似乎很直观,但当它试图映​​射回分层对象时,我猜想就不那么直观了。

java - Hibernate:在一对多关系中指定列

我正在尝试为我基本上无法控制的数据库架构构建一个Hibernate层。简化一下,有两个表。表parent有两个重要的列:parent_id,整数,主键,自增parent_code,字符串,唯一键,由某处的黑框生成(为了理智起见,假设这是一个UUID)加上一堆数据列表child有两个重要的列:child_parent_id,整数,主键,自增child_parent_code,字符串,指向parent的parent_code值的外键加上一堆数据列我希望能够调用Parent.getChilds()并获取子对象的集合。但是设置Hibernate映射文件似乎是不可能的。它对下面的映射所做的是使用

java - 如果我还不知道涉及的任何框架,我应该采用什么方法来理解大型 J2EE 应用程序?

5或6年前,我作为一名初级Java开发人员开始在我的公司工作,我必须使用Servlet和Jsp进行一些J2EE编程。我没有在那个职位上花太多时间,而是从事数据库方面的工作,因此我远离了软件开发领域。现在我不得不回到Java编程,我得到了一个Web应用程序来开发和维护。当我打开这个项目时,我什么都不懂。该应用程序是使用许多高级框架构建的,例如Spring、Hibernate、Wicket、用于Web服务的Axis和用于构建项目的Maven。在应用程序中工作的人都是一流的程序员,所以我确信他们已经正确地应用了模式和概念,但现在有太多我以前从未见过的东西。我该怎么做才能有效地了解最新的框架和

java - 防止 ehcache 在启动时尝试访问互联网

我有一个相当简单的非集群应用程序,使用spring和hibernate运行ehcache。启动时出现此错误:java.net.SocketTimeoutException:连接超时如何阻止此调用?这是我的ehcache.xml:我确信这个ehcache.xml正在被拾取和使用,例如没有类路径问题。我正在使用:ehcache2.0.1和hibernate3.3.1.GA 最佳答案 添加updateCheck="false"时给你的元素不起作用,请尝试使用-Dnet.sf.ehcache.skipUpdateCheck=true设置系统