如何使用spring JPA存储库保存@lob数据

时间:2017-09-11 06:31:13

标签: spring jpa spring-data-jpa

我想使用JPA存储库将@lob(blob)数据保存到DB中。

我正在尝试下面的内容

User user = new user();
user.setProfile(<<BLOB DATA>>);

我想将用户个人资料设置为blob数据并保存到db

2 个答案:

答案 0 :(得分:0)

我们使用 @Lob 将数据保存在 BLOB CLOB

实体

@Entity
@Table(name="USER_LOB_TABLE")
public class User {

    @Id
    private Long userId;

    @Lob
    @Column(name="PROFILE")
    private byte[] profile;
   //getters and setters

}

JpaRepository

public interface UserRepository extends JpaRepository<User,Long>{}

服务层

userRepository.save(new User(1L,"hellodgasdgasdgasdgadsgas".getBytes()));

<强>输出: 的
USER_ID,简档
1,BLOB

答案 1 :(得分:0)

为什么不使用Spring Content JPA

  

的pom.xml

   <!-- Java API -->
   <dependency>
      <groupId>com.github.paulcwarren</groupId>
      <artifactId>spring-content-jpa-boot-starter</artifactId>
      <version>0.0.11</version>
   </dependency>
   <!-- REST API -->
   <dependency>
      <groupId>com.github.paulcwarren</groupId>
      <artifactId>spring-content-rest-boot-starter</artifactId>
      <version>0.0.11</version>
   </dependency>
  

User.java

@Entity
public class User {

   @Id
   private Long userId;

   @ContentId
   private String contentId;

   @ContentLength
   private long contentLength = 0L;

   // if you have rest endpoints
   @MimeType
   private String mimeType = "text/plain";
  

JpaRepository

public interface UserRepository extends JpaRepository<User,Long>{}
  

UsersContentStore.java

@StoreRestResource(path="usersContent")
public interface UsersContentStore extends ContentStore<User, String> {
}

这也将为您提供REST端点(@ / usersContent)来处理您的用户内容。