草庐IT

实体抽取

全部标签

java - 持久化实体时出现 NullPointerException

我成功地能够使用NamedQuery检索对象列表。如果我不对对象进行任何修改然后尝试合并它(使用我的实体管理器),则不会抛出异常。但是,如果我更新该实体中的任何字段并尝试合并它,则会引发以下异常:SEVERE:Servlet.service()forservlet[spring-mvc]incontextwithpath[/EuropCar]threwexception[Requestprocessingfailed;nestedexceptionisorg.springframework.transaction.TransactionSystemException:Couldnotc

java - 使用 JPA 进行更新时如何排除实体字段

有没有办法让字段在更新操作时非持久化,但在使用JPA-Hibernate4创建操作时持久化?我这样试过@Transient@Id@Column(name="USER_NAME",nullable=false,length=75)privateStringuserName;但是使用@Transient注释,该字段在所有CRUD操作中都是transient的,我想要一种方法来指定仅在此操作上是持久的(创建)。有办法吗?谢谢! 最佳答案 您需要将@Column注解的updatable属性设置为false:@Column(name="USE

java - 存在于多个目录中的实体的 Hibernate 注释

我有一个由Hibernate映射到数据库目录“Active”中的数据库表的Person实体。一段时间后,“Activity”目录中此数据库表中的记录被存档/移动到数据库目录“历史”中该表的精确副本。我需要从Activity目录和历史目录中检索。有没有比创建一个从2个类扩展的抽象类更好的方法来使用Hibernate注释对其进行建模。这就是我现在拥有的。@MappedSuperclasspublicabstractclassPerson{@IdprivateIntegerid;privateStringname;}@Entity@Table(name="Person",catalog="A

实体字段中的 Java 8 可选

这个问题在这里已经有了答案:MappingaFunctionalJavaOptionwithHibernate(3个答案)关闭6年前。我可以在hibernate实体的字段中使用Optional吗?也许有一些自定义用户类型?我知道我可以在使用AccesType.FIELD的方法中使用它(无论如何我都使用AccesType.FIELD)。我为什么要这个?好吧,我想尽可能远离空值。

java - Jersey JAXRS 过滤器,在访问资源(Web 服务)之前提供未编码的实体

是否有一种优雅的方式(过滤器、Hook)在Jersey中拦截未编码的实体(及其注释),然后再访问Web服务资源方法——那些用@POST、@PUT注释的方法。我确实需要实体本身及其上的任何注释,然后使用validator注释的属性对该实体执行验证(看起来像JSR303,但我们不使用元数据注释整个bean)。从资源的实现角度来看,我的目标是能够在资源方法中输入:@Path("/people")@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})publicclassPeopleService{@POSTpubli

java - Spring Security 实体字段级安全

我有一个SpringMVC应用程序,它呈现一个View,该View显示来自Customer实体的所有字段,例如姓名、地址、电话号码等。该应用程序具有各种角色,例如ROLE_USER和ROLE_ADMIN。具有ROLE_USER的用户只能看到客户名称,而具有ROLE_ADMIN的用户可以看到所有客户字段。目前我实现它的方式是使用Thymeleaf使用SpringSecurityDialect的View根据用户角色限制对某些字段的访问:虽然这工作得很好,但感觉不对,而且很难测试。我想针对Controller编写测试,该Controller使用具有不同角色的主体调用Controller方法,

java - 如何在 spring data rest/HATEOAS 中创建一个引用已经存在的子实体的新父实体

在我的项目中,我有两个领域模型。父实体和子实体。父引用子实体列表。(例如Post和Comments)两个实体都有它们的spring数据JPACrudRepository公开为@RepositoryRestResource的接口(interface)HTTPGET和PUT操作工作正常,并返回这些模型的良好HATEOS表示。现在我需要一个特殊的REST端点“创建一个引用一个或多个已存在子实体的新父级”。我想将对child的引用作为我在请求正文中传递的文本/uri列表发布,如下所示:POSThttp://localhost:8080/api/v1/createNewParentHEADERC

java - 如何在两个微服务之间共享 REST 服务之间的实体?

我已经使用java创建了两个微服务。我需要从服务A到服务B进行RESTapi调用。发送的数据将采用JSON格式。使用jax-rs我需要在这两个服务中创建实体类。因为两个项目中的实体类都是相同的。我会吗创建一个公共(public)jar并用于我所有的实体/域对象?这会让我的微服务耦合得更紧密吗?我是否在两个微服务项目中创建相同的类?这将意味着在两个项目中重复工作?是否有更好的方式在服务之间进行通信? 最佳答案 在让你的两个微服务独立以及将来它们也独立方面,我也会复制代码。我们之前有过完全相同的情况。一些微服务似乎使用了一些可以放在单独

java - 绑定(bind)用户实体和 GlassFish 主体

我有一个实体类User包含用户名、名字、姓氏和密码等信息,并且我设置了GlassFish3.1服务器来执行身份验证。到现在为止还挺好。在容器对用户进行身份验证后,我需要某种方式将主体绑定(bind)到实际的用户实体。毕竟,GlassFish告诉我的是用户“laurens”已通过身份验证,而不是给我相应的User实体。为此,我编写了一个JSF托管beanUserController.我想知道的是,这是否是查看实际实体的正确方法,以及是否有任何我没有看到的明显陷阱。UserController具有以下字段:@EJBprivateUserFacadeuserFacade;privateUse

java - 如何在 Hibernate 中从非实体子类中持久化实体

我正在尝试将实体扩展为用于填充父类(superclass)字段的非实体。问题是,当我尝试保存它时,Hibernate会抛出MappingException。这是因为即使我将ReportParser转换为Report,运行时实例仍然是ReportParser,因此Hibernate会提示它是一个未知实体。@Entity@Table(name="TB_Reports")publicclassReport{Longid;Stringname;Stringvalue;@Id@GeneratedValue@Column(name="cReportID")publicLonggetId(){ret