sql >> Databasteknik >  >> RDS >> Mysql

NHibernate.Mapping undantag. Ingen persister för Namespace.className

Jag skulle säga, eftersom all den informationen borde vi ha en gärningsman. Det finns så många problem (jo problem faktiskt) med mappningen och C#-kod , som vi säkert vet:

Om den här filen i befintligt skick skulle vara tillgänglig för NHibernate session factory, skulle vi få detta undantag

Vilket skulle kunna fixas genom att lägga till namnområdesattribut till mappningen namespace="NhibernateORM"

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
  assembly="NhibernateORM"
  namespace="NhibernateORM"
  auto-import="true">
  <class name="Layout" table="mytable">
    <id name="Id" column="ID" type="int" generator="assigned" />
    <property name="Name"        column="name"        type="String"/>
    <property name="xCoordinate" column="xCoordinate" type="double" />
    <property name="yCoordinate" column="yCoordinate" type="double" />
  </class>
</hibernate-mapping>

När det hade åtgärdats skulle vi senare få detta undantag

vilket skulle kunna fixas genom att göra alla Entity-grejer virtuella:

namespace NhibernateORM
{
    public class Layout
    {
        public virtual int Id { get; set; }
        public virtual string Name { get; set; }
        public virtual double xCoordinate { get; set; }
        public virtual double yCoordinate { get; set; }

Så visst vet vi - problemet är

  • fel konfiguration i hibernate.cfg.xml
  • fel konfiguration av Mapping.hbm.xml egenskaper

Detta bör vara en del av hibernate.cfg.xml :

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
      ...
      <mapping assembly="NhibernateORM"/>

hibernate.cfg.xml måste ha egenskaper:

  • Skapa åtgärder ===Innehåll
  • Kopiera till utdatakatalog ===Kopiera alltid

Mapping.hbm.xml måste ha egenskaper:

  • Bygg åtgärd ===Inbäddad resurs
  • Kopiera till utdatakatalog ===Kopiera inte



  1. Infoga aktuellt datum/tid med now() i ett fält med MySQL/PHP

  2. TRUNC(date) Funktion i Oracle

  3. Hur man infogar en rad i en tabell mellan två befintliga rader i Sql

  4. Hur gör man DB-åtkomst med Hibernate JPA-trådsäker?