would possible declare hashmap in following object called group?
doing doesn't work:
@onetomany(fetch = fetchtype.eager, cascade = cascadetype.all, mappedby = "group") @mapkey(name = "member.name") private map<string, groupmember> groupmembers = new hashmap<string, groupmember>(); stacktrace:
12:07:51 [info] [groups] enabling groups v0.1 12:07:51 [severe] error occurred while enabling groups v0.1 (is date?) java.lang.runtimeexception: exception has occured while initializing database @ groups.storage.mydatabase.initializedatabase(mydatabase.java:83) @ groups.storage.dao.<init>(dao.java:26) @ groups.groups.onenable(groups.java:30) @ org.bukkit.plugin.java.javaplugin.setenabled(javaplugin.java:217) @ org.bukkit.plugin.java.javapluginloader.enableplugin(javapluginloader.java:457) @ org.bukkit.plugin.simplepluginmanager.enableplugin(simplepluginmanager.java:381) @ org.bukkit.craftbukkit.v1_5_r2.craftserver.loadplugin(craftserver.java:282) @ org.bukkit.craftbukkit.v1_5_r2.craftserver.enableplugins(craftserver.java:264) @ org.bukkit.craftbukkit.v1_5_r2.craftserver.reload(craftserver.java:605) @ org.bukkit.bukkit.reload(bukkit.java:184) @ org.bukkit.command.defaults.reloadcommand.execute(reloadcommand.java:23) @ org.bukkit.command.simplecommandmap.dispatch(simplecommandmap.java:188) @ org.bukkit.craftbukkit.v1_5_r2.craftserver.dispatchcommand(craftserver.java:523) @ org.bukkit.craftbukkit.v1_5_r2.craftserver.dispatchservercommand(craftserver.java:512) @ net.minecraft.server.v1_5_r2.dedicatedserver.am(dedicatedserver.java:261) @ net.minecraft.server.v1_5_r2.dedicatedserver.r(dedicatedserver.java:226) @ net.minecraft.server.v1_5_r2.minecraftserver.q(minecraftserver.java:474) @ net.minecraft.server.v1_5_r2.minecraftserver.run(minecraftserver.java:407) @ net.minecraft.server.v1_5_r2.threadserverapplication.run(sourcefile:573) caused by: java.lang.runtimeexception: failed create new instance of ebeanserver @ groups.storage.mydatabase.loaddatabase(mydatabase.java:162) @ groups.storage.mydatabase.initializedatabase(mydatabase.java:77) ... 18 more caused by: javax.persistence.persistenceexception: groups.model.group: not find mapkey property [member.name] on [groups.model.groupmember] @ com.avaje.ebeaninternal.server.deploy.beanpropertyassocmany.initmapkeyproperty(beanpropertyassocmany.java:744) @ com.avaje.ebeaninternal.server.deploy.beanpropertyassocmany.initialise(beanpropertyassocmany.java:147) @ com.avaje.ebeaninternal.server.deploy.beandescriptor.initialiseother(beandescriptor.java:763) @ com.avaje.ebeaninternal.server.deploy.beandescriptormanager.initialiseall(beandescriptormanager.java:403) @ com.avaje.ebeaninternal.server.deploy.beandescriptormanager.deploy(beandescriptormanager.java:293) @ com.avaje.ebeaninternal.server.core.internalconfiguration.<init>(internalconfiguration.java:150) @ com.avaje.ebeaninternal.server.core.defaultserverfactory.createserver(defaultserverfactory.java:209) @ com.avaje.ebeaninternal.server.core.defaultserverfactory.createserver(defaultserverfactory.java:64) @ com.avaje.ebean.ebeanserverfactory.create(ebeanserverfactory.java:78) @ groups.storage.mydatabase.loaddatabase(mydatabase.java:159) ... 19 more ...
@entity @table(name = "groups_group") public class group { public enum type { include, exclude } @id @generatedvalue @column(name = "id", unique = true, nullable = false) private integer id; @column(name = "name", unique = true, nullable = false, length = 25) private string name; @onetomany(fetch = fetchtype.eager, cascade = cascadetype.all, mappedby = "group") @mapkey(name = "member.name") private map<string, groupmember> groupmembers = new hashmap<string, groupmember>(); @column(name = "personal", nullable = false) private boolean personal = false; @enumerated(value = enumtype.ordinal) @column(name = "type", nullable = false, length = 2) private type type = type.include; @column(name = "password", nullable = true, length = 16) private string password; @version @column(name = "update_time", nullable = false) timestamp updatetime; @createdtimestamp @column(name = "create_time", nullable = false) timestamp createtime; public group() {} //getters , setters } ..
@entity @table(name = "groups_group_member") public class groupmember { public enum role { admin, moderator, member, banned } @id @generatedvalue @column(name = "id", unique = true, nullable = false) private integer id; @manytoone @joincolumn(name = "group_id") private group group; @manytoone @joincolumn(name = "member_id") private member member; @enumerated(value = enumtype.ordinal) @column(name = "role", nullable = false, length = 2) private role role = role.member; @version @column(name = "update_time", nullable = false) timestamp updatetime; @createdtimestamp @column(name = "create_time", nullable = false) timestamp createtime; public groupmember() {} //getters , setters... } ...
@entity @table(name = "groups_member") public class member { @id @generatedvalue @column(name = "id", unique = true, nullable = false) private integer id; @column(name = "name", unique = true, nullable = false, length = 16) private string name; @onetomany(fetch = fetchtype.eager, cascade = cascadetype.all, mappedby = "member") private set<groupmember> groupmembers = new hashset<groupmember>(); @version @column(name = "update_time", nullable = false) timestamp updatetime; @createdtimestamp @column(name = "create_time", nullable = false) timestamp createtime; public member() {} //getters , setters }
Comments
Post a Comment