JPA Entity의 기본 키로 []을 (를) 사용하는 데 문제가 있습니까?UUID를 데이터베이스 기본 키로 사용하면 Java 유형은 바이트입니다 []
기본 키로 UUID를 사용하고 싶지만 문자열이 너무 커서 느껴집니다.
내 법인의 ID로 바이트 []로 ID를 저장하고 설정하려면이 같은 일을 생각하고 있었는데 :
public static byte[] byteArray(UUID uuid) {
long lsb = uuid.getLeastSignificantBits();
long msb = uuid.getMostSignificantBits();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(bos);
try {
dos.writeLong(lsb);
dos.writeLong(msb);
dos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] data = bos.toByteArray();
// System.out.println("Byte Array Length "+data.length);
return data;
}
나는 DB에서 이것에 인덱스를 넣어 어떤 문제가 있습니까? Postgres와 HSQL을 모두 사용하고 있습니다. 나는 JPA 제공자로서 Hibernate를 사용하고있다.
데이터베이스 외부에서 생성 된 ID가 필요하며 UUID를 사용하여 DB에서 개체를 검색 할 수 있어야합니다. http://iops.io/blog/storing-billions-uuid-fields-mysql-innodb에 관한 – systemoutprintln