Work on data initialization.
This commit is contained in:
parent
94235d71a1
commit
7df4774d8f
@ -1,29 +1,118 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
public static void main( String[] args ) {
|
public static void main( String[] args ) {
|
||||||
WizardDaoImpl dao = new WizardDaoImpl();
|
initData();
|
||||||
persistData(dao);
|
|
||||||
queryData();
|
queryData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void persistData(WizardDaoImpl dao) {
|
public static void initData() {
|
||||||
Spell spell = new Spell("Fireball");
|
Spell spell1 = new Spell("Ice dart");
|
||||||
Spellbook spellbook = new Spellbook("Book of fire");
|
Spell spell2 = new Spell("Invisibility");
|
||||||
spell.setSpellbook(spellbook);
|
Spell spell3 = new Spell("Stun bolt");
|
||||||
spellbook.getSpells().add(spell);
|
Spell spell4 = new Spell("Confusion");
|
||||||
Wizard wizard = new Wizard("Jugga");
|
Spell spell5 = new Spell("Darkness");
|
||||||
spellbook.setWizard(wizard);
|
Spell spell6 = new Spell("Fireball");
|
||||||
wizard.getSpellbooks().add(spellbook);
|
Spell spell7 = new Spell("Enchant weapon");
|
||||||
dao.persist(wizard);
|
Spell spell8 = new Spell("Rock armour");
|
||||||
|
Spell spell9 = new Spell("Light");
|
||||||
|
Spell spell10 = new Spell("Bee swarm");
|
||||||
|
Spell spell11 = new Spell("Haste");
|
||||||
|
Spell spell12 = new Spell("Levitation");
|
||||||
|
Spell spell13 = new Spell("Magic lock");
|
||||||
|
Spell spell14 = new Spell("Summon hell bat");
|
||||||
|
Spell spell15 = new Spell("Water walking");
|
||||||
|
Spell spell16 = new Spell("Magic storm");
|
||||||
|
Spell spell17 = new Spell("Entangle");
|
||||||
|
SpellDao spellDao = new SpellDaoImpl();
|
||||||
|
spellDao.persist(spell1);
|
||||||
|
spellDao.persist(spell2);
|
||||||
|
spellDao.persist(spell3);
|
||||||
|
spellDao.persist(spell4);
|
||||||
|
spellDao.persist(spell5);
|
||||||
|
spellDao.persist(spell6);
|
||||||
|
spellDao.persist(spell7);
|
||||||
|
spellDao.persist(spell8);
|
||||||
|
spellDao.persist(spell9);
|
||||||
|
spellDao.persist(spell10);
|
||||||
|
spellDao.persist(spell11);
|
||||||
|
spellDao.persist(spell12);
|
||||||
|
spellDao.persist(spell13);
|
||||||
|
spellDao.persist(spell14);
|
||||||
|
spellDao.persist(spell15);
|
||||||
|
spellDao.persist(spell16);
|
||||||
|
spellDao.persist(spell17);
|
||||||
|
|
||||||
|
SpellbookDao spellbookDao = new SpellbookDaoImpl();
|
||||||
|
Spellbook spellbook1 = new Spellbook("Book of Orgymon");
|
||||||
|
spellbookDao.persist(spellbook1);
|
||||||
|
spellbook1.addSpell(spell1);
|
||||||
|
spellbook1.addSpell(spell2);
|
||||||
|
spellbook1.addSpell(spell3);
|
||||||
|
spellbook1.addSpell(spell4);
|
||||||
|
spellbookDao.merge(spellbook1);
|
||||||
|
Spellbook spellbook2 = new Spellbook("Book of Aras");
|
||||||
|
spellbookDao.persist(spellbook2);
|
||||||
|
spellbook2.addSpell(spell5);
|
||||||
|
spellbook2.addSpell(spell6);
|
||||||
|
spellbookDao.merge(spellbook2);
|
||||||
|
Spellbook spellbook3 = new Spellbook("Book of Kritior");
|
||||||
|
spellbookDao.persist(spellbook3);
|
||||||
|
spellbook3.addSpell(spell7);
|
||||||
|
spellbook3.addSpell(spell8);
|
||||||
|
spellbook3.addSpell(spell9);
|
||||||
|
spellbookDao.merge(spellbook3);
|
||||||
|
Spellbook spellbook4 = new Spellbook("Book of Tamaex");
|
||||||
|
spellbookDao.persist(spellbook4);
|
||||||
|
spellbook4.addSpell(spell10);
|
||||||
|
spellbook4.addSpell(spell11);
|
||||||
|
spellbook4.addSpell(spell12);
|
||||||
|
spellbookDao.merge(spellbook4);
|
||||||
|
Spellbook spellbook5 = new Spellbook("Book of Idores");
|
||||||
|
spellbookDao.persist(spellbook5);
|
||||||
|
spellbook5.addSpell(spell13);
|
||||||
|
spellbookDao.merge(spellbook5);
|
||||||
|
Spellbook spellbook6 = new Spellbook("Book of Opaen");
|
||||||
|
spellbookDao.persist(spellbook6);
|
||||||
|
spellbook6.addSpell(spell14);
|
||||||
|
spellbook6.addSpell(spell15);
|
||||||
|
spellbookDao.merge(spellbook6);
|
||||||
|
Spellbook spellbook7 = new Spellbook("Book of Kihione");
|
||||||
|
spellbookDao.persist(spellbook7);
|
||||||
|
spellbook7.addSpell(spell16);
|
||||||
|
spellbook7.addSpell(spell17);
|
||||||
|
spellbookDao.merge(spellbook7);
|
||||||
|
|
||||||
|
WizardDao wizardDao = new WizardDaoImpl();
|
||||||
|
Wizard wizard1 = new Wizard("Aderlard Boud");
|
||||||
|
wizardDao.persist(wizard1);
|
||||||
|
// wizard1.addSpellbook(spellbook1);
|
||||||
|
// wizard1.addSpellbook(spellbook2);
|
||||||
|
wizardDao.merge(wizard1);
|
||||||
|
Wizard wizard2 = new Wizard("Anaxis Bajraktari");
|
||||||
|
wizardDao.persist(wizard2);
|
||||||
|
// wizard2.addSpellbook(spellbook3);
|
||||||
|
// wizard2.addSpellbook(spellbook4);
|
||||||
|
wizardDao.merge(wizard2);
|
||||||
|
Wizard wizard3 = new Wizard("Xuban Munoa");
|
||||||
|
wizardDao.persist(wizard3);
|
||||||
|
// wizard3.addSpellbook(spellbook5);
|
||||||
|
// wizard3.addSpellbook(spellbook6);
|
||||||
|
wizardDao.merge(wizard3);
|
||||||
|
Wizard wizard4 = new Wizard("Blasius Dehooge");
|
||||||
|
wizardDao.persist(wizard4);
|
||||||
|
// wizard4.addSpellbook(spellbook7);
|
||||||
|
wizardDao.merge(wizard4);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void queryData() {
|
public static void queryData() {
|
||||||
MagicService magicService = new MagicServiceImpl();
|
|
||||||
for (Wizard w: magicService.findAllWizards()) {
|
|
||||||
System.out.println(w);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public interface MagicService {
|
public interface MagicService {
|
||||||
|
|
||||||
List<Wizard> findAllWizards();
|
|
||||||
|
|
||||||
List<Spellbook> findAllSpellbooks();
|
|
||||||
|
|
||||||
List<Spell> findAllSpells();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class MagicServiceImpl implements MagicService {
|
public class MagicServiceImpl implements MagicService {
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Wizard> findAllWizards() {
|
|
||||||
return new WizardDaoImpl().findAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Spellbook> findAllSpellbooks() {
|
|
||||||
return new SpellbookDaoImpl().findAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Spell> findAllSpells() {
|
|
||||||
return new SpellDaoImpl().findAll();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
5
dao/src/main/java/com/iluwatar/SpellDao.java
Normal file
5
dao/src/main/java/com/iluwatar/SpellDao.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package com.iluwatar;
|
||||||
|
|
||||||
|
public interface SpellDao extends Dao<Spell> {
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
public class SpellDaoImpl extends DaoBaseImpl<Spell> {
|
public class SpellDaoImpl extends DaoBaseImpl<Spell> implements SpellDao {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,9 @@ import java.util.Set;
|
|||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.ManyToOne;
|
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@ -20,6 +18,7 @@ public class Spellbook extends BaseEntity {
|
|||||||
|
|
||||||
public Spellbook() {
|
public Spellbook() {
|
||||||
spells = new HashSet<Spell>();
|
spells = new HashSet<Spell>();
|
||||||
|
wizards = new HashSet<Wizard>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Spellbook(String name) {
|
public Spellbook(String name) {
|
||||||
@ -42,11 +41,10 @@ public class Spellbook extends BaseEntity {
|
|||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToMany(mappedBy = "spellbooks")
|
||||||
@JoinColumn(name="WIZARD_ID_FK", referencedColumnName="WIZARD_ID")
|
private Set<Wizard> wizards;
|
||||||
private Wizard wizard;
|
|
||||||
|
|
||||||
@OneToMany(mappedBy = "spellbook", orphanRemoval = true, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
|
@OneToMany(mappedBy = "spellbook", orphanRemoval = true, cascade = CascadeType.ALL)
|
||||||
private Set<Spell> spells;
|
private Set<Spell> spells;
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
@ -57,12 +55,12 @@ public class Spellbook extends BaseEntity {
|
|||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Wizard getWizard() {
|
public Set<Wizard> getWizards() {
|
||||||
return wizard;
|
return wizards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setWizard(Wizard wizard) {
|
public void setWizards(Set<Wizard> wizards) {
|
||||||
this.wizard = wizard;
|
this.wizards = wizards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<Spell> getSpells() {
|
public Set<Spell> getSpells() {
|
||||||
@ -72,6 +70,11 @@ public class Spellbook extends BaseEntity {
|
|||||||
public void setSpells(Set<Spell> spells) {
|
public void setSpells(Set<Spell> spells) {
|
||||||
this.spells = spells;
|
this.spells = spells;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addSpell(Spell spell) {
|
||||||
|
spell.setSpellbook(this);
|
||||||
|
spells.add(spell);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
5
dao/src/main/java/com/iluwatar/SpellbookDao.java
Normal file
5
dao/src/main/java/com/iluwatar/SpellbookDao.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package com.iluwatar;
|
||||||
|
|
||||||
|
public interface SpellbookDao extends Dao<Spellbook> {
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
public class SpellbookDaoImpl extends DaoBaseImpl<Spellbook> {
|
public class SpellbookDaoImpl extends DaoBaseImpl<Spellbook> implements SpellbookDao {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,10 +6,9 @@ import java.util.Set;
|
|||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@ -40,7 +39,7 @@ public class Wizard extends BaseEntity {
|
|||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@OneToMany(mappedBy = "wizard", orphanRemoval = true, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
|
@ManyToMany(cascade = CascadeType.ALL)
|
||||||
private Set<Spellbook> spellbooks;
|
private Set<Spellbook> spellbooks;
|
||||||
|
|
||||||
public String getFirstName() {
|
public String getFirstName() {
|
||||||
@ -59,6 +58,11 @@ public class Wizard extends BaseEntity {
|
|||||||
this.spellbooks = spellbooks;
|
this.spellbooks = spellbooks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addSpellbook(Spellbook spellbook) {
|
||||||
|
spellbook.getWizards().add(this);
|
||||||
|
spellbooks.add(spellbook);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return name;
|
return name;
|
||||||
|
5
dao/src/main/java/com/iluwatar/WizardDao.java
Normal file
5
dao/src/main/java/com/iluwatar/WizardDao.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
package com.iluwatar;
|
||||||
|
|
||||||
|
public interface WizardDao extends Dao<Wizard> {
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
package com.iluwatar;
|
package com.iluwatar;
|
||||||
|
|
||||||
public class WizardDaoImpl extends DaoBaseImpl<Wizard> {
|
public class WizardDaoImpl extends DaoBaseImpl<Wizard> implements WizardDao {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user