草庐IT

java - 如何使用 spring boot 和 jpa 在数据库中上传和保存文件?

我是springboot的新手。我想使用springboot上传一个小文件并使用jpa将其保存在db中。但是我没有很好的分辨率。我的程序是这样的:数据库表:CREATETABLE`report`(`id`int(10)NOTNULLAUTO_INCREMENT,`name`varchar(255)NOTNULL,`logo`BLOBNOTNULL,`created_time`int(10)NOTNULL,`updated_time`int(10)NOTNULL)ENGINE=InnoDBAUTO_INCREMENT=13DEFAULTCHARSET=utf8jpabean:报表.jav

java - 在 spring boot JPA 中,如何正确地将实体表示具有外键关联的对象发布到不同的实体?

如果我有一个实体包含另一个类的对象,例如Book内部有一个Publisher的实体关联的实体如下:@ManyToOne@JoinColumn(name="PUB_CODE",referencedColumnName="PUB_CODE")privatePublisherpub;这是一种安全/正确的方法(我在这个例子中看到了数据库中的正确数据,但不能100%确定它是否适用于所有情况)方法来发布在数据库中具有外键关联的对象?我不知道这样做在事务原子性或线程方面是否安全,或者它是否有效。相关代码如下:Book.javapackageapp.domain;/*imports*/@Entityp

java - 从 JPA 2.1 升级到 JPA 2.2

我在升级到JPA2.2时遇到问题。我正在使用eclipselink并更改了我的pom中的版本:org.eclipse.persistenceeclipselink2.7.0我还更新了persistence.xml以指向正确版本的xsd:my.entity问题是我收到以下错误消息:Thepersistence.xmlfiledoesnothavesupportedcontentforthisJPAplatform.我已经查看了eclipselink文档,但没有发现任何问题。有什么想法吗? 最佳答案 从JPA2.0升级到2.1后,我遇到

java - JPA Criteria query eager fetch associated entities using a SINGLE query with join 而不是多个查询

在将hibernate从4.3.11升级到5.2.12的范围内,我们正在从Hibernatenative标准查询迁移到JPA标准查询,并发现了不同的行为。以前的hibernate条件使用带有连接的单个查询来急切地获取一对多关联实体,但JPA使用单独的查询来获取每个根实体的关联实体。我知道我可以像entityRoot.fetch("attributes",JoinType.INNER);那样显式设置获取模式,但我们需要在一些AbstractDao实现中完成它,它应该适用于任何急切的人-对多关联,因此不能显式设置。那么我能否以某种方式告诉JPA标准,以便在默认情况下使用连接而不是针对每个根

java - @IdClass 与非原始@Id

我正在尝试将复合主键添加到类中,但遇到了一些麻烦。这是类。classUser{privatelongid;...}classToken{privateUseruser;privateStringseries;...}我正在使用orm.xml来映射类,因为它们实际上是我不想依赖于JPA的更高级别API的一部分-它有许多实现。这里是:......最后,为了使一切正常,我创建了TokenPK类,它看起来像这样:publicclassTokenPKimplementsSerializable{privateStringseries;privateUseruser;publicTokenPK()

java - 加速 Jetty 上的应用程序启动

我有一个配置了Guice的小型Web应用程序,Jersey和EclipseLink,并在开发期间在jetty(8.0.0.M1)上运行此应用程序。大约有10个(小的)JPA托管类(实体和可嵌入类),总共大约有20个类。初始启动需要15秒+5秒用于第一个请求。似乎JPA正在处理第一个请求,因为我启用了表生成策略“创建”,并在第一个请求中看到Maven的一些JPA输出。重新加载大约需要10秒,重新加载后的第一个请求大约需要3到4秒。您可能会认为,启动时间还不错,但我想知道是否可以加速启动以像使用Django一样更流畅地工作。有启动调整的想法吗? 最佳答案

java - 如何使用 Spring Roo 和 JPA 提供我自己的 @id 字段

我正在尝试让SpringRoo使用我自己的@Id字段而不是生成一个字段。@Entity...@RooEntity@Table(name="usr")publicclassUser{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="usr_id")privateIntegerid;...publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id}...}Roo仍然在User_Roo_Entity.aj中创建以下内容:@Id@Generat

java - 在现有 JPA 持久性类中处理更新的策略

我们正在做一个计划使用JPAPersistence的项目。我们认为,一旦项目上线,可能需要更改数据模型的可能性很小。我的问题是有哪些不同的策略可用于处理这种变化。特别是我有以下问题:对于更新的JPA类,将它们合并到现有数据库架构中的最佳实践是什么?对于JPA,是否有任何最佳实践来归档旧数据、更新数据库架构,然后再次将数据库迁移到新架构?有哪些变化(从广义上讲)会使这种迁移变得不可能? 最佳答案 在RHQ(http://rhq-project.org/)中,我们有一些dbutils,它们具有XML模式描述,用于填充空数据库上的初始模式

java - 我什么时候应该在 JPA 2.0 中使用 @Basic(optional = false)

我在JPA中有一个带有单表映射的继承,比如说A类和B类扩展了一些抽象实体,所以我必须使A和B中的列在数据库端可以为空,但是如果有人试图保留A,那么所有字段A不应该为空,我想通过代码强制执行。我可以使用以下代码来实现此目的吗-@Entity@DiscriminatorValue("1")publicClassAextendsSomeAbstractEntity{@Basic(optional=false)privateStringnameOfA;}我读了这个答案@Basic(optional=false)vs@Column(nullable=false)inJPA并认为这可能是可以实现的

java - 使用 jpa2 和 hibernate 3.6.x 的生产实例的示例 persistence.xml

在生产场景中,将上述标志切换为false是有意义的。应该修改哪些其他标志,以便优化hibernate引擎以更快地访问MySQL数据库。 最佳答案 这取决于:)您可以设置缓存大小、获取深度(对于外部连接)、获取批量大小等等。您可能不想记录太多(show_sql=>设置为false,format_sql=>设置为false,use_sql_comments=>设置为false)。但实际上,这取决于您必须衡量。使用并正确配置连接池也很重要。再次重申:使用常识和衡量标准。希望这些链接对您有用:http://docs.jboss.org/hi