diff --git a/test/org/redkale/test/source/LoginUserRecord.java b/test/org/redkale/test/source/LoginUserRecord.java index 6bb4d7e0f..cdf0f32fa 100644 --- a/test/org/redkale/test/source/LoginUserRecord.java +++ b/test/org/redkale/test/source/LoginUserRecord.java @@ -17,9 +17,8 @@ import org.redkale.source.*; public class LoginUserRecord extends BaseEntity { @Id - @GeneratedValue - @Column(comment = "UUID") - private String seqid = ""; //UUID + @Column(comment = "记录ID; 值=userid+'-'+UUID") + private String seqid = ""; //记录ID; 值=userid+'-'+UUID @Column(updatable = false, comment = "C端用户ID") private long userid; //C端用户ID @@ -79,8 +78,9 @@ public class LoginUserRecord extends BaseEntity { } @Override - public String getTable(String table, Serializable userid) { - return getHashTable(table, (int) (((Long) userid) % 100)); + public String getTable(String table, Serializable primary) { + String id = (String) primary; + return getHashTable(table, (int) (Long.parseLong(id.substring(0, id.indexOf('-'))) % 100)); } private String getHashTable(String table, int hash) { diff --git a/test/org/redkale/test/source/UserDetail.java b/test/org/redkale/test/source/UserDetail.java index 54f9030dd..22dc7f4ac 100644 --- a/test/org/redkale/test/source/UserDetail.java +++ b/test/org/redkale/test/source/UserDetail.java @@ -17,6 +17,32 @@ import org.redkale.source.*; @DistributeTable(strategy = UserDetail.TableStrategy.class) public class UserDetail extends BaseEntity { + public static class TableStrategy implements DistributeTableStrategy { + + @Override + public String getTable(String table, UserDetail bean) { + return getTable(table, bean.getUserid()); + } + + @Override + public String getTable(String table, FilterNode node) { + Serializable id = node.findValue("userid"); + if (id != null) return getTable(table, id); + return getHashTable(table, (Integer) node.findValue("#hash")); + } + + @Override + public String getTable(String table, Serializable userid) { + return getHashTable(table, (int) (((Long) userid) % 100)); + } + + private String getHashTable(String table, int hash) { + int pos = table.indexOf('.'); + return "platf_user." + table.substring(pos + 1) + "_" + (hash > 9 ? hash : ("0" + hash)); + } + + } + @Id private long userid; //用户ID @@ -84,30 +110,4 @@ public class UserDetail extends BaseEntity { public void setCreatetime(long createtime) { this.createtime = createtime; } - - public static class TableStrategy implements DistributeTableStrategy { - - @Override - public String getTable(String table, UserDetail bean) { - return getTable(table, bean.getUserid()); - } - - @Override - public String getTable(String table, FilterNode node) { - Serializable id = node.findValue("userid"); - if (id != null) return getTable(table, id); - return getHashTable(table, (Integer) node.findValue("#hash")); - } - - @Override - public String getTable(String table, Serializable userid) { - return getHashTable(table, (int) (((Long) userid) % 100)); - } - - private String getHashTable(String table, int hash) { - int pos = table.indexOf('.'); - return "platf_user." + table.substring(pos + 1) + "_" + (hash > 9 ? hash : ("0" + hash)); - } - - } }