[英]PostgreSQL network types in Hibernate
我想在Hibernate ORM中使用Mac地址(macaddr)的Postgresql網絡數據類型。 如何將macaddr類型映射到實體類屬性? 最好的方法是什么? 我從未在Hibernate中使用非標准SQL類型
謝謝
Mac地址是一個字符串。 如果這是Mac地址與其用戶之間的@OneToOne關系,那么您不必從簡單的字符串中創建實體類,只需將其作為字段添加到任何需要它的實體上,例如:
private String macAddress;
如果多個實體使用了相同的mac地址,並且您想重用該值(規范化),那么您就可以像這樣創建一個實體:
package com.acme.model;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class MacAddress implements Serializable {
private static final long serialVersionUID = 1l;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String value;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
我只是解決了這樣的問題,所以我成功地從DB postgresql 9插入並獲取行。 完全說明的解決方案是在休眠狀態下的該鏈接網絡中的postgres類型
由於從未對mac地址進行全面驗證,因此Java中沒有Standard-Type。 您可以使用
@ColumnTransformer(read="CAST(mac AS varchar)", write="CAST(? AS macaddr)") String
而是將其讀/寫為String。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.