Given the following mysql database definition for user 'sa' and no password:
and the following roo project scripts:Code:-- DROP SCHEMA IF EXISTS rootest; -- CREATE SCHEMA rootest DEFAULT CHARACTER SET utf8; -- USE rootest; DROP TABLE IF EXISTS TeamPlayer; DROP TABLE IF EXISTS Player; DROP TABLE IF EXISTS Team; DROP TABLE IF EXISTS PlayerStatusType; DROP TABLE IF EXISTS User; -- ================================= CREATE TABLE User ( id bigint auto_increment PRIMARY KEY ) ENGINE = InnoDB; -- ================================ CREATE TABLE PlayerStatusType ( type varchar(63) PRIMARY KEY ) ENGINE = InnoDB; -- =============================== CREATE TABLE Team ( id bigint auto_increment, city varchar(127) not null, name varchar(127) not null, version int, primary key(id), unique(city, name) ) ENGINE = InnoDB; -- ================================ CREATE TABLE Player ( id bigint auto_increment, firstName varchar(63), lastName varchar(63) not null, birthdate date not null, statusType varchar(63) not null, version int, primary key(id), foreign key(statusType) references PlayerStatusType(type) ) ENGINE = InnoDB; -- =================================== CREATE TABLE TeamPlayer ( teamId bigint, playerId bigint, fromDate date, toDate date, version int, primary key(teamId, playerId, fromDate), foreign key(teamId) references Team(id), foreign key(playerId) references Player(id) ) ENGINE = InnoDB; -- ===================================
edit persistence.xml changing hibernate.hbm2ddl.auto value to 'validate'Code:// Create project project --topLevelPackage com.roodbtest // Setup database persistence setup --provider HIBERNATE --database MYSQL database properties set --key database.url --value jdbc:mysql://localhost:3306/rootest database properties set --key database.username --value sa database properties list
the following output results:Code:// database reverse engineer /////////// database reverse engineer --schema rootest --package ~.domain --testAutomatically
This is a very simple database structure.Code:Created SRC_MAIN_RESOURCES/dbre.xml Updated ROOT/pom.xml Updated SRC_MAIN_RESOURCES/META-INF/persistence.xml Created SRC_MAIN_JAVA/com/roodbtest/domain Created SRC_MAIN_JAVA/com/roodbtest/domain/Player.java Created SRC_MAIN_JAVA/com/roodbtest/domain/PlayerStatusType.java Created SRC_MAIN_JAVA/com/roodbtest/domain/Team.java Created SRC_MAIN_JAVA/com/roodbtest/domain/TeamPlayerPK.java Created SRC_MAIN_JAVA/com/roodbtest/domain/TeamPlayer.java Created SRC_MAIN_JAVA/com/roodbtest/domain/User.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/User.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/TeamPlayer.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/TeamPlayerPK.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/Team.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/PlayerStatusType.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain/Player.java Undo create SRC_MAIN_JAVA/com/roodbtest/domain Undo manage SRC_MAIN_RESOURCES/META-INF/persistence.xml Undo manage ROOT/pom.xml Undo create SRC_MAIN_RESOURCES/dbre.xml Foreign key table for foreign key 'player_ibfk_1' in table 'Player' must not be null in determining a one-to-one relationship Script required 2 second(s) to execute Script execution aborted Created SRC_MAIN_JAVA/com/roodbtest/domain Created SRC_MAIN_JAVA/com/roodbtest/domain/Player_Roo_Entity.aj Deleted SRC_MAIN_JAVA/com/roodbtest/domain/Player_Roo_Entity.aj
Why does roo have a problem?
Is this a roo defect?
Am I missing a step or doing something incorrect?
I am using roo 1.1.4.


Reply With Quote